License management for digital content

ABSTRACT

A method and apparatus for digital content license management is disclosed that provides one or more license management devices that manage licenses for playback of digital content. The license management devices create licenses having an associated cardinality that determines the number of playback devices that can be authorized by the license. The license is stored in a set of playback devices, where the number of playback devices in the set corresponds to the cardinality of the license. The license is also included in digital content that the license authorizes for playback. Playback devices that have a license that matches a license included in the digital content are authorized to play the digital content. A single license can be used to provide authorization to play digital content from multiple sources and/or multiple types of content. Playback devices can store multiple licenses, which allows playback devices to belong to multiple sets of playback devices authorized to playback various digital content. In one embodiment digital content files can contain multiple licenses to allow the content files to be shared by multiple sets of playback devices.

FIELD OF THE INVENTION

The present invention relates to digital information playback. More particularly, the present invention relates to management of licenses for playback of digital information.

BACKGROUND OF THE INVENTION

Technology currently exists through compression of digital data, storage devices and network bandwidth to distribute large amounts of digital data to many geographically disparate locations. This technology has allowed more users access to more information in digital format than would otherwise be possible. One form of digital data is audio/visual (A/V) programming, including audio-only programming and video-only programming as well as combined audio/visual programming. Sources now exist that provide A/V programming, including audio recording of novels (audio books), recording of conversations, commentaries, news, educational material, etc. as well as recordings that include video content generally referred to as digital content.

Digital content can be played using a hardware device or software player on a personal or other type of computer system. Hardware playback devices are typically small lightweight devices having a special purpose processor coupled to memory, such as flash memory, that plays the stored digital content. Software players are software entities executed by computer systems that use the computer system memory to store the digital content and the computer system A/V capabilities to play the digital content.

What is needed is a license management scheme to prevent unauthorized use of digital programming.

SUMMARY OF THE INVENTION

A method and apparatus for digital content license management is disclosed. A license having a cardinality is created by a license management device. The license has an associated cardinality. The license is stored in one or more playback devices. The number of playback devices associated having playback licenses is based, at least in part, on the cardinality. The license is included in digital content. The playback devices are enabled to playback the digital content including the license. In one embodiment, a single license can be used to authorize playback from multiple content providers.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by way of limitation in the figures of the accompanying drawings in which like reference numerals refer to similar elements.

FIG. 1 is one embodiment of a computer system suitable for use with the present invention.

FIG. 2 is one embodiment of an architecture that provides digital information for playback suitable for use with the present invention.

FIG. 3 is one embodiment of a computer system running a digital information player suitable for use with the present invention.

FIG. 4 is a hardware playback device suitable for use with the present invention.

FIG. 5 is an architecture for license management according to one embodiment of the present invention.

FIG. 6 is a flow diagram for authorizing playback of digital content with a playback device according to one embodiment of the present invention.

FIG. 7 is a flow diagram for adding digital content to be authorized with an existing license according to one embodiment of the present invention.

DETAILED DESCRIPTION

A method and apparatus for digital content license management is disclosed. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention can be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the present invention.

Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.

The present invention provides one or more license management devices that manage licenses for playback of digital content. The license management devices create licenses having an associated cardinality that determines the number of playback devices that can be authorized by the license. The license is stored in a set of playback devices, where the number of playback devices in the set is less than or equal to the cardinality of the license. In one embodiment, the license management device causes the license to be stored in the set of playback devices by using one or more digitally signed and/or encrypted commands.

The license is also included in digital content that the license authorizes for playback. In one embodiment, the license management device causes the license to be included in the digital content; however, content providers or other authorized agents can also cause the license to be included in the digital content. Playback devices that have a license that matches a license included in the digital content are authorized to play the digital content. In one embodiment a single license can be used to provide authorization to play digital content from multiple sources and/or multiple types of content. Playback devices can store multiple licenses, which allows playback devices to belong to multiple sets of playback devices authorized to playback various digital content. In one embodiment digital content files can contain multiple licenses to allow the content files to be shared by multiple sets of playback devices. In other words, a content file can be shared by different sets of users because the content contains multiple licenses.

Overview of an Architecture and Devices for Providing Playback of Digital Programming

FIG. 1 is one embodiment of a computer system suitable for use with the present invention. Computer system 100 includes bus 101 or other communication device for communicating information, and processor 102 coupled with bus 101 for processing information. Computer system 100 further includes random access memory (RAM) or other dynamic storage device 104 (referred to as main memory), coupled to bus 101 for storing information and instructions to be executed by processor 102. Main memory 104 also can be used for storing temporary variables or other intermediate information during execution of instructions by processor 102. Computer system 100 also includes read only memory (ROM) and/or other static storage device 106 coupled to bus 101 for storing static information and instructions for processor 102. Data storage device 107 is coupled to bus 101 for storing information and instructions.

Data storage device 107 such as a magnetic disk or optical disc and its corresponding drive can be coupled to computer system 100. Computer system 100 can also be coupled via bus 101 to display device 121, such as a cathode ray tube (CRT) or liquid crystal display (LCD), for displaying information to a computer user. Alphanumeric input device 122, including alphanumeric and other keys, is typically coupled to bus 101 for communicating information and command selections to processor 102. Another type of user input device is cursor control 123, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 102 and for controlling cursor movement on display 121.

In one embodiment, computer system 100 further includes playback device interface 130 that provides a communications interface between computer system 100 and a mobile playback device (not shown in FIG. 1). Playback device interface 130 can be, for example, a docking station coupled to a port (not shown in FIG. 1) of computer system 100 (e.g., serial port, parallel port, SCSI interface). The docking station is configured to receive a mobile playback device. Playback device interface 130 allows computer system 100 to communicate licensing information, digital content, and other data to and receive data from a mobile playback device.

In one embodiment, the present invention is related to the use of computer system 100 to provide, manage and/or receive licenses for digital content playback devices. According to one embodiment, license management is performed by a computer system, such as computer system 100, in response to processor 102 executing sequences of instructions contained in memory 104.

Instructions are provided to main memory 104 from a storage device, such as magnetic disk, CD-ROM, DVD, via a remote connection (e.g., over a network), etc. In alternative embodiments, hard-wired circuitry can be used in place of or in combination with software instructions to implement the present invention. Thus, the present invention is not limited to any specific combination of hardware circuitry and software.

FIG. 2 is one embodiment of an architecture that provides digital information for playback suitable for use with the present invention. Server 210 is coupled to multiple playback devices, including hardware playback devices (e.g., 230) and players (e.g., 245 running on computer system 240), by network 200. Any number of hardware playback devices and players can be coupled to server 210 by network 200.

In one embodiment, network 200 is the Internet; however, other networks can be used. For example, network 200 can be an intranet that couples only computer systems and other devices together that belong to a particular organization. Network 200 can also represent a group of networks, such and a group of local area networks.

Server 210 stores digital information defining programming as well as information about authorized users of the digital information. In one embodiment, server 210 stores a library of digital content that can be retrieved by authorized users for later playback by authorized playback devices. The library of digital content can include audio books, recordings of lecture series, news, plays, movies, etc.

Hardware playback device 230 stores programs from server 210 for playback. Hardware playback device 230 can store all or a portion of one or more programs. Also, hardware playback device 230 can be coupled to network 200 directly or by a computer system (not shown in FIG. 2) that accesses server 210. Computer system 240 runs player 245 and can play digital content from server 210. Server 210 can also be a license management device or another device (not shown in FIG. 2) can be a license management device.

FIG. 3 is one embodiment of a computer system running a digital information player suitable for use with the present invention. Processor 102 executes sequences of instruction stored in main memory 104 including sequences of instructions defining operating system 300 and player 310.

Main memory 104 further includes digital content 320 that is all or a portion of programming received from the server. Additional programs, or additional portions of digital content 320, can be stored by storage device 107 and copied to main memory 104 as necessary.

Processor 102 retrieves data from digital content 320 and outputs audio and/or video in response to the data. Processor 102 can also retrieve digital content data from a network connection (not shown in FIG. 3) for playback or for storage in main memory 104.

FIG. 4 is a hardware playback device suitable for use with the present invention. Player 400 is a mobile playback device that allows digital content to be downloaded, for example, via a playback device interface a played back later. A user can utilize the buttons on player 400 to navigate through stored data to replay desired digital content.

Player 400 includes buttons 405, 410, 415, 420 and 425 and volume dial 430. Further details of player 400 can be found in U.S. patent application Ser. No. 08/710,114 filed Sep. 12, 1996. In summary, player 400 includes a processor and internal random access memory (RAM), read only memory (ROM) and a memory storage device such as flash memory. In one embodiment the ROM stores an operating system, while the flash memory (or other memory storage device) stores digital content.

Player 400 can also include an interface to receive removable media to store digital content. For example, flash memory cards storing audio content can be inserted into player 400. Digital content stored on the removable media can be played back directly from the removable media or copied from the removable media and stored in player 400 for later playback.

Overview of License Management

FIG. 5 is an architecture for license management according to one embodiment of the present invention. The architecture of FIG. 5 provides centralized license management; however, more distributed license management devices can also be used.

Network 500 provides an interconnection between the components of FIG. 5. In one embodiment network 500 is the Internet; however, other networks can also be used. Playback devices 550 and 560 are coupled to license management device 510 via network 500. Playback devices 550 and 560 can be hardware playback devices, such as the playback device of FIG. 4, or a software playback device, such as the player of FIG. 3. Playback devices can also receive digital content from other sources such as removable media (e.g., CD-ROM, flash memory cards) or one way communications (e.g., broadcast).

In one embodiment, license management device 510 is a server and provides centralized license management for multiple playback devices. While the architecture of FIG. 5 has only a single license management device, multiple license management devices can be provided to distribute license management duties. As described in greater detail below license management device 510 creates licenses that enables playback devices to play digital content.

License management device 510 communicates with content provider 520 to manage licenses for digital content owned by content provider 520. License management device 510 can communicate with multiple content providers as well as agents of a content provider, or other parties authorized to distribute digital content owned by a content provider.

In operation, license management device 510 creates a license having a cardinality in response to a request. In one embodiment, authentication (e.g., login name and password) is required from a license requestor to authorize license creation. For example, an owner of a playback device can request a license to authorize a playback device he or she owns for playback of specified digital content by logging in to a specific Web page associated with license management device 510. In one embodiment, the cardinality of the license determines the number of playback devices that the license authorizes to play digital content. The license created by license management device 510 is stored in one or more playback devices (e.g., 550 and/or 560).

The license is also communicated to content provider 520 by license management device 510. In one embodiment content provider 520 embeds the license in digital content for which the owner of the playback device is authorized to play. Alternatively, license management device 510 issues a command that causes the license to be embedded in the digital content, or a license can be embedded in the digital content by the licensee. License management device 510 can also embed the license in the digital content. The license can be associated with the digital content in another manner.

When a playback device receives digital content, the playback device checks the digital content for a license that matches the license stored in the playback device. If the licenses match, the playback device is authorized to, and is enabled to, play the digital content, which includes decrypting the digital content if necessary. Otherwise the playback device does not play the digital content.

License management device 510 enforces the cardinality restrictions of the licenses created. In one embodiment, license management device 510 causes licenses to be stored by playback devices by issuing one or more commands to the playback devices to which the licenses are targeted. In one embodiment, the commands are encrypted and/or signed to prevent cloning. License management device 510 can also cause the license to be included in digital content in a similar manner. Alternatively, license management device 510 can communicate the creation of a license to an appropriate content provider that, in turn, includes the license in digital content.

In one embodiment, the license comprises a 32 bit group identifier; however, other identifier sizes can also be used. Thus, each playback device storing a license belongs to a set of one or more playback devices storing the license. The set of playback devices is authorized to play digital content that includes the license. Multiple licenses can be granted for any digital content. For example, a corporation having 100 employees, each having a playback device, can obtain a license having a cardinality of 100 to authorize each employee to play digital content obtained by the corporation. An individual can obtain a license with a cardinality of one for personal use of digital content. Digital content including both licenses can be played by the individual as well as employees of the corporation.

In the following example, it is assumed that a household of four individuals (Husband, Wife, Son and Daughter) has four playback devices; one for each individual. Each member of the household may wish to have access to the “New York Times.” The household obtains a license with a cardinality of four to store in each of the playback devices. The playback devices are then authorized to play digital versions of the “New York Times” that include the license that is also stored in the playback devices.

The members of the household may also wish to have access to “People.” The license used for the “New York Times” can also be used for “People.” The license management device communicates to the content provider that provides “People” that the previously generated license should be used to authorize playback of “People.” The provider of “People” includes the license in a digital version of “People” and the playback devices can play digital versions of “People.”

Husband and Son may wish to have access to “Sports Illustrated.” The household obtains a license with a cardinality of two. The license is stored in the playback devices used by Husband and Son as well as communicated to the provider of “Sports Illustrated.” The provider of “Sports Illustrated” includes the license in a digital version of “Sports Illustrated” and the two playback devices storing the license with cardinality of two are authorized to play “Sports Illustrated.”

In one embodiment license management device 510 is necessary to either add or remove licenses from a playback device. Thus, license management device 510 can be used to provide centralized license management. In one embodiment, addition of a license to a playback device can only be accomplished with the permission of the license owner. However, licenses can be removed from the playback device without the permission of the license owner. In one embodiment, transfer of licenses between playback devices is accomplished through license management device 510.

FIG. 6 is a flow diagram for authorizing playback of digital content with a playback device according to one embodiment of the present invention. A license is requested at 610. In one embodiment, a user of a playback device accesses a license management device and requests a license having a specific cardinality. For example, the user can access a Web page that provides license management services and/or provides audio content.

The license management device creates a license at 620. The license has a cardinality that determines the number of playback devices in which the license can be stored. In one embodiment, the cardinality is fixed and cannot be modified after the license is generated. Alternatively, the cardinality can be modified after the license is generated. The cardinality can be any value. In one embodiment, zero cardinality represents availability to an unlimited number of playback devices.

The license is stored in a set of one or more playback devices at 630. In one embodiment, the license management device issues a command to one or more specific playback devices. The command includes a player identifier for each of the one or more players targeted and is encrypted and digitally signed by the license management device. The license is stored in the playback device if the command originates from an authorized source and includes the identifier of the playback device. Alternatively, the license can be stored in the set of playback devices in another manner.

The license is communicated to a content provider or other party that distributes digital content at 640. The content provider includes the license in digital content at 650. In one embodiment, the content provider stores one or more licenses in digital content targeted for playback devices having corresponding licenses. Alternatively, the content provider can include a list of all current licenses in the digital content. In another embodiment, the license management device causes the license to be stored in the digital content in a manner similar to storage of the license in the set of playback devices described above.

The one or more playback devices having the license are authorized to play the digital content at 660. In one embodiment, the licenses stored in the playback devices and the licenses stored in the digital content are encrypted to prevent copying and/or signed to verify the origin of the license.

Obtaining a license as described above with respect to FIG. 6 can be used to obtain additional licenses having, for example, a different cardinality or an equal cardinality for use with a different group of playback devices. Any number of licenses can be stored in a playback device based on the storage capacity available in the playback device to store licenses. Thus, any number of arrangement of sets of playback devices can be authorized to play digital content.

FIG. 7 is a flow diagram for adding digital content to be authorized with an existing license according to one embodiment of the present invention. The flow of FIG. 7 can be used, for example, if a group of one or more users having a pre-existing license wish to have access to additional and/or different digital content.

Authorization of additional content is requested at 710. In one embodiment, the owner of the license accesses a license management device and requests that an existing license be used to authorize additional content. For example, a user can access a license management Web page and request that a pre-existing license for the “New York Times” also be used to authorize the same playback devices to play “People.”

The license request is communicated to the provider of the newly requested content at 720. The content provider includes the license with the content at 730. The one or more playback devices storing the license are authorized to play the newly requested digital content at 740. Thus, a single license can be used for digital content from multiple content providers as well as multiple types of content programming (e.g., the “New York Times” and “People”).

In the foregoing specification, the present invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes can be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. 

1. A method comprising: creating a first license comprising a first cardinality, wherein a cardinality indicates the number of playback devices that can be authorized for playback of associated digital audio content, the license created by and the cardinality to be enforced by a license management device; transmitting information corresponding to the first license to a content provider from the license management device; transmitting the first license to a first set of playback devices from the license management device, wherein the first set of playback devices is less than or equal to the first cardinality; storing the first license in the first set of playback devices in response to a command from the license management device; and determining whether playback of first digital audio content received from the content provider is authorized by comparing the first license with the first digital audio content having one or more embedded licenses by the first set of playback devices.
 2. The method of claim 1 further comprising: storing the first license in second digital audio content; and authorizing playback of the second digital audio content with the first set of playback devices.
 3. The method of claim 1 further comprising: creating a second license having a second cardinality, the license created by the license management device; transmitting information corresponding to the second license to the content provider from the license management device; transmitting the second license to a second set of playback devices from the license management device, wherein the second set of playback devices is determined based, at least in part, on the second cardinality, and further wherein at least one playback device belongs to the first set and to the second set; storing the second license in the second set of playback device in response to one or more commands from the license management device; and determining whether playback of the second digital audio content received from the content provider is authorized by comparing the first license with the digital audio content having one or more embedded licenses by the second set of playback devices.
 4. The method of claim 1 wherein the cardinality is fixed.
 5. The method of claim 1 wherein the cardinality is variable.
 6. The method of claim 1 wherein the cardinality is unlimited.
 7. The method of claim 1 wherein at least one of the first set of playback devices comprises at least one hardware playback device.
 8. The method of claim 1 wherein at least one of the first set of playback devices comprises at least one software player.
 9. The method of claim 1 wherein the first digital audio content further comprises video digital programming.
 10. A machine-readable medium having stored thereon sequences of instructions that when executed one or more electronic systems to: create a first license comprising a first cardinality, wherein a cardinality indicates the number of playback devices that can be authorized for playback of associated digital audio content, the license created by and the cardinality to be enforced by a license management device; transmit information corresponding to the first license to a content provider from the license management device; transmit the first license to a first set of playback devices from the license management device, wherein the first set of playback devices is less than or equal to the first cardinality; store the first license in the first set of playback devices in response to a command from the license management device; and determine whether playback of first digital audio content received from the content provider is authorized by comparing the first license with the first digital audio content having one or more embedded licenses by the first set of playback devices.
 11. The machine-readable medium of claim 10 further comprising sequences of instructions that when executed cause the one or more electronic systems to: store the first license in second digital audio content; and authorize playback of the second digital audio content with the first set of playback devices.
 12. The machine-readable medium of claim 10 further comprising sequences of instructions that when executed cause the one or more electronic systems to: create a second license having a second cardinality, the license created by the license management device; transmit information corresponding to the second license to the content provider from the license management device; transmit the second license to a second set of playback devices from the license management device, wherein the second set of playback devices is determined based, at least in part, on the second cardinality, and further wherein at least one playback device belongs to the first set and to the second set; store the second license in the second set of playback device in response to one or more commands from the license management device; and determine whether playback of the second digital audio content received from the content provider is authorized by comparing the first license with the digital audio content having one or more embedded licenses by the second set of playback devices.
 13. The machine-readable medium of claim 10 wherein the cardinality is fixed.
 14. The machine-readable medium of claim 10 wherein the cardinality is variable.
 15. The machine-readable medium of claim 10 wherein the cardinality is unlimited.
 16. The machine-readable medium of claim 10 wherein at least one of the first set of playback devices comprises at least one hardware playback device.
 17. The machine-readable medium of claim 10 wherein at least one of the first set of playback devices comprises at least one software player.
 18. The machine-readable medium of claim 10 wherein the first digital audio content further comprises digital video programming.
 19. An apparatus for digital license management, the apparatus comprising: means for creating a first license comprising a first cardinality, wherein a cardinality indicates the number of playback devices that can be authorized for playback of associated digital audio content, the license created by and the cardinality to be enforced by a license management device; means for transmitting information corresponding to the first license to a content provider from the license management device; means for transmitting the first license to a first set of playback devices from the license management device, wherein the first set of playback devices is less than or equal to the first cardinality; means for storing the first license in the first set of playback devices in response to a command from the license management device; and means for determining whether playback of first digital audio content received from the content provider is authorized by comparing the first license with the first digital audio content having one or more embedded licenses by the first set of playback devices.
 20. The apparatus of claim 19 further comprising: means for storing the first license in second digital audio content; and means for authorizing playback of the second digital audio content with the first set of playback devices.
 21. The apparatus of claim 19 further comprising: means for creating a second license having a second cardinality, the license created by the license management device; means for transmitting information corresponding to the second license to the content provider from the license management device; means for transmitting the second license to a second set of playback devices from the license management device, wherein the second set of playback devices is determined based, at least in part, on the second cardinality, and further wherein at least one playback device belongs to the first set and to the second set; means for storing the second license in the second set of playback device in response to one or more commands from the license management device; and means for determining whether playback of the second digital audio content received from the content provider is authorized by comparing the first license with the digital audio content having one or more embedded licenses by the second set of playback devices.
 22. A digital data signal embodied in a data communications medium shared among a plurality of network devices having a processor, the digital data signal comprising instructions that, when executed, cause the processor to provide digital audio programming, the digital data signal comprising license comprising a first cardinality, wherein a cardinality indicates the number of playback devices that can be authorized for playback of associated digital audio content, the license having been created by and the cardinality to be enforced by a license management device, wherein a set of playback devices receive the digital data signal in response to one or more commands issued by the license management device and authorize playback of digital audio data if the license included in the computer data signal matches at least one license stored in the digital audio data.
 23. The digital data signal of claim 22 wherein the cardinality is fixed.
 24. The digital data signal of claim 22 wherein the cardinality is variable.
 25. The digital data signal of claim 22 wherein the cardinality is unlimited.
 26. The digital data signal of claim 22 wherein at least one of the first set of playback devices is a hardware playback device.
 27. The digital data signal of claim 22 wherein at least one of the first set of playback devices is a software player.
 28. The digital data signal of claim 22 wherein the first digital audio content further comprises digital video programming.
 29. A method comprising: receiving a first license at a playback device, the playback device belonging to a first set of playback devices, the license comprising a first cardinality, wherein a cardinality indicating a number of playback devices that can be authorized for playback of digital content, and wherein the first set of playback devices is less than or equal to the first cardinality; storing the first license in the playback device; receiving first digital content, wherein information associated with the first license is embedded in the first digital content; and determining whether playback of the received first digital content by the playback device is authorized by comparing the first license stored in the playback device with the first license information embedded in the first digital content.
 30. The method of claim 29 further comprising: receiving second digital content, wherein information associated with the first license is embedded in the second digital content; and authorizing playback of the second digital audio content by the first playback device based on a match between the first license and the first license information embedded in the second digital content.
 31. The method of claim 29 further comprising: receiving a second license at the playback device, the license having a second cardinality, the playback device belonging to a second set of playback devices, wherein the second set of playback devices is determined based, at least in part, on the second cardinality; storing the second license in the playback device; receiving second digital content, wherein information associated with the second license is embedded in the second digital content; and determining whether playback of the received second digital audio content by the playback device is authorized by comparing the second license with the second license information embedded in the second digital content. 